[gd_scene load_steps=8 format=3 uid="uid://by20mwoy18slb"]

[ext_resource type="PackedScene" uid="uid://bji4f7htd0760" path="res://scenes/test_objects/sample_door.tscn" id="1_pi08e"]
[ext_resource type="PackedScene" uid="uid://c3h3rae5n8fdx" path="res://scenes/objects/desk.tscn" id="2_sgoh1"]
[ext_resource type="PackedScene" uid="uid://bfrxkhdfpbcxy" path="res://scenes/objects/table_lamp.tscn" id="3_dbw4r"]
[ext_resource type="PackedScene" uid="uid://cu1uco5x7o0pt" path="res://scenes/test_objects/test_light_switch.tscn" id="4_hkn1q"]

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pi08e"]
albedo_color = Color(0.450648, 0.450648, 0.450648, 1)

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sgoh1"]
albedo_color = Color(0.393086, 0.393086, 0.393085, 1)

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hkn1q"]
transparency = 1
albedo_color = Color(0.702781, 0.649938, 0.301483, 1)

[node name="Home" type="Node3D"]

[node name="PlayerFlat" type="Node3D" parent="."]

[node name="player_flat" type="CSGCombiner3D" parent="PlayerFlat"]
material_override = SubResource("StandardMaterial3D_pi08e")
use_collision = true

[node name="floor" type="CSGBox3D" parent="PlayerFlat/player_flat"]
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(6, 0.1, 9)

[node name="celling" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.63923, 0)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(6, 0.1, 9)

[node name="CSGBox3D2" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.631836, 1.325, -4.4447)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(4.74268, 2.55, 0.1)

[node name="CSGBox3D3" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000244141, 1.325, 4.46891)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(5.99316, 2.55, 0.05)

[node name="CSGBox3D" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.748731, 1.325, 1.96735)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(4.49243, 2.55, 0.05)

[node name="CSGBox3D4" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.626445, 1.325, -1.0623)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(4.737, 2.55, 0.05)

[node name="CSGBox3D5" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.94576, 1.325, 0.0251322)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(0.1, 2.55, 8.84637)

[node name="CSGBox3D6" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.7, 1.57779, 0.424872)
material_override = SubResource("StandardMaterial3D_sgoh1")
operation = 2
size = Vector3(1, 1, 1.7)

[node name="CSGBox3D7" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.268464, 1.325, 2.90567)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1, 2.55, 0.05)

[node name="CSGBox3D8" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.740637, 1.325, 3.66173)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.55347, 2.55, 0.05)

[node name="CSGBox3D9" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.46738, 1.325, -0.0457186)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.98357, 2.55, 0.05)

[node name="CSGBox3D10" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.46738, 2.32584, 1.44467)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.01022, 0.548315, 0.05)

[node name="CSGBox3D11" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.7, 1.57779, -2.80671)
material_override = SubResource("StandardMaterial3D_sgoh1")
operation = 2
size = Vector3(1, 1, 1.7)

[node name="CSGBox3D12" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.96498, 1.325, 3.48742)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.93091, 2.55, 0.05)

[node name="CSGBox3D13" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.96498, 1.325, -1.43446)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(5.92841, 2.55, 0.05)

[node name="CSGBox3D14" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.96498, 2.32969, 2.0055)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.03632, 0.540625, 0.05)

[node name="CSGBox3D17" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.7, 1.57779, 3.17691)
material_override = SubResource("StandardMaterial3D_sgoh1")
operation = 2
size = Vector3(1, 1, 1.7)

[node name="CSGBox3D15" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.84654, 1.325, -1.0623)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(0.188786, 2.55, 0.05)

[node name="CSGBox3D16" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.25035, 2.33042, -1.0623)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.02776, 0.53916, 0.05)

[node name="CSGBox3D18" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.58459, 1.325, 2.90567)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(0.71524, 2.55, 0.05)

[node name="CSGBox3D19" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.58325, 2.3317, 2.90567)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(2.717, 0.536597, 0.05)

[node name="CSGBox3D20" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.47399, 1.325, 3.68627)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.50439, 2.55, 0.05)

[node name="CSGBox3D21" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.86828, 1.325, -4.4447)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(0.238525, 2.55, 0.1)

[node name="CSGBox3D22" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.23004, 2.33362, -4.4447)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(1.05652, 0.532764, 0.1)

[node name="floor2" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.27203, 0, -5.18064)
material_override = SubResource("StandardMaterial3D_sgoh1")
size = Vector3(3.45593, 0.1, 1.49988)

[node name="CSGBox3D23" type="CSGBox3D" parent="PlayerFlat/player_flat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.664764, 1.57779, -4.46232)
material_override = SubResource("StandardMaterial3D_sgoh1")
operation = 2
size = Vector3(1.7, 1, 0.256)

[node name="desk" parent="PlayerFlat" instance=ExtResource("2_sgoh1")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.13845, 0.0524298, 1.49524)

[node name="doors" type="Node3D" parent="PlayerFlat"]

[node name="SampleDoor" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.47485, 1.05, 1.44123)
open_angle_limit = 85

[node name="SampleDoor2" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.97652, 1.05, 2.02291)
open_direction = 1

[node name="SampleDoor4" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.729745, 1.05, 2.90708)
open_angle_limit = 50

[node name="SampleDoor3" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.24206, 1.05, -1.06327)

[node name="SampleDoor5" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.44244, 1.05, 2.90708)
open_angle_limit = 90

[node name="SampleDoor6" parent="PlayerFlat/doors" instance=ExtResource("1_pi08e")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -2.24206, 1.05, -4.44932)
open_angle_limit = 95

[node name="lamp_room1" type="CSGCylinder3D" parent="PlayerFlat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.758277, 2.545, 0.443773)
cast_shadow = 0
radius = 0.316895
height = 0.145361
material = SubResource("StandardMaterial3D_hkn1q")

[node name="lamp_room1" type="OmniLight3D" parent="PlayerFlat/lamp_room1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
shadow_enabled = true
omni_range = 4.0

[node name="lamp_room2" type="CSGCylinder3D" parent="PlayerFlat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.114063, 2.545, -2.68277)
cast_shadow = 0
radius = 0.316895
height = 0.145361
material = SubResource("StandardMaterial3D_hkn1q")

[node name="lamp_room2" type="OmniLight3D" parent="PlayerFlat/lamp_room2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
shadow_enabled = true

[node name="lamp_corridor" type="CSGCylinder3D" parent="PlayerFlat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.20341, 2.545, 2.17586)
cast_shadow = 0
radius = 0.316895
height = 0.145361
material = SubResource("StandardMaterial3D_hkn1q")

[node name="lamp_corridor" type="OmniLight3D" parent="PlayerFlat/lamp_corridor"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
shadow_enabled = true
omni_range = 4.0

[node name="lamp_kitchen" type="CSGCylinder3D" parent="PlayerFlat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.974, 2.545, 3.367)
cast_shadow = 0
radius = 0.316895
height = 0.145361
material = SubResource("StandardMaterial3D_hkn1q")

[node name="lamp_kitchen" type="OmniLight3D" parent="PlayerFlat/lamp_kitchen"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
shadow_enabled = true
omni_range = 4.0

[node name="lamp_bathroom" type="CSGCylinder3D" parent="PlayerFlat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.386195, 2.545, 3.75278)
cast_shadow = 0
radius = 0.316895
height = 0.145361
material = SubResource("StandardMaterial3D_hkn1q")

[node name="lamp_bathroom" type="OmniLight3D" parent="PlayerFlat/lamp_bathroom"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
shadow_enabled = true
omni_range = 3.0

[node name="table_lamp" parent="." instance=ExtResource("3_dbw4r")]
transform = Transform3D(-0.404966, 0, 0.914332, 0, 1, 0, -0.914332, 0, -0.404966, 2.58379, 0.80243, 1.59188)

[node name="switch_room1" parent="." node_paths=PackedStringArray("controlled_lights") instance=ExtResource("4_hkn1q")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.42923, 1.40341, 0.743618)
controlled_lights = [NodePath("../PlayerFlat/lamp_room1/lamp_room1")]

[node name="switch_corridor" parent="." node_paths=PackedStringArray("controlled_lights") instance=ExtResource("4_hkn1q")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.93425, 1.40341, 1.31693)
controlled_lights = [NodePath("../PlayerFlat/lamp_corridor/lamp_corridor")]

[node name="swotch_room2" parent="." node_paths=PackedStringArray("controlled_lights") instance=ExtResource("4_hkn1q")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.93345, 1.40341, -1.31634)
controlled_lights = [NodePath("../PlayerFlat/lamp_room2/lamp_room2")]

[node name="switch_bathroom" parent="." node_paths=PackedStringArray("controlled_lights") instance=ExtResource("4_hkn1q")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.18967, 1.40341, 2.0074)
controlled_lights = [NodePath("../PlayerFlat/lamp_bathroom/lamp_bathroom")]

[node name="switch_kitchen" parent="." node_paths=PackedStringArray("controlled_lights") instance=ExtResource("4_hkn1q")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.970675, 1.40341, 2.0074)
controlled_lights = [NodePath("../PlayerFlat/lamp_kitchen/lamp_kitchen")]
